﻿using ChurchDiary.TableEntity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ChurchDiary.DAL.Contract
{
    public interface IAdministration
    {
        #region Pages
        List<EntityPage> GetPages(int PageNo, string SearchKey, string Sort, string SortMode, int PerPage);
        string InsertUpdateNewPages(EntityPage Page);
        EntityPage GetPage(int PageId);
        string UpdatePage(EntityPage Page);
        List<EntityPage> GetPages();
        EntityPage GetPage(string ControllerName,string ActionName);
        #endregion
        #region PageSection Pk
        string InsertPageSectionPk(EntityPageSectionPk PageSection);
        string UpdatePageSectionPk(EntityPageSectionPk PageSection);
        string DeletePageSectionPk(Guid PageSectionId);
        List<EntityPageSectionPk> GetPageSectionPk(int PageNo, string SearchKey, string Sort, string SortMode, int PerPage);
        List<EntityPageSectionPk> GetPageSectionPk();
        EntityPageSectionPk GetPageSectionPk(Guid PageSectionId);
        #endregion
        #region PageSection
        string InsertPageSection(EntityPageSection PageSection);
        string UpdatePageSection(EntityPageSection PageSection);
        string DeletePageSection(Guid PageSectionId);
        List<EntityPageSection> GetPageSection(int PageNo, string SearchKey, string Sort, string SortMode, int PerPage,Guid GetPageSection);
        EntityPageSection GetPageSection(Guid PageSectionId);
        #endregion
        #region PageAssignment
        string InsertPageSectionAssignment(EntityPageSectionAssignment PageSectionAssignment);
        string UpdatePageSectionAssignment(EntityPageSectionAssignment PageSectionAssignment);
        string DeletePageSectionAssignment(Guid PageSectionAssignmentId);
        List<EntityPageSectionAssignment> GetPageSectionAssignment(int PageNo, string SearchKey, string Sort, string SortMode, int PerPage);
        EntityPageSectionAssignment GetPageSectionAssignment(Guid PageSectionAssignmentId);
        #endregion

    }
}
